Voice-controlled navigation device utilizing wireless data transmission for obtaining maps and real-time overlay information

ABSTRACT

A navigation system and method involving wireless communications technology and speech processing technology is presented. In accordance with an embodiment of the invention, the navigation system includes a subscriber unit communicating with a service provider. The subscriber unit includes a global positioning system mechanism to determine subscriber position information and a speech processing mechanism to receive destination information spoken by a subscriber. The subscriber unit transmits the subscriber position and destination information to the service provider, which gathers navigation information, including a map and a route from the subscriber position to the specified destination. The service provider transmits the navigation information to the subscriber unit. The subscriber unit conveys the received navigation information to the subscriber via an output mechanism, such as a speech synthesis unit or a graphical display.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to navigation systems. Specifically, thisinvention relates to a novel system and method that promotes safety in,and enhances the utility of, navigation systems.

2. Description of Related Art and General Background

Navigation systems assist users in finding their way from one locationto another. In some systems, a user inputs a starting location and anintended destination, and the system, typically via algorithms acting onmap databases, generates a sequence of directions that the user mayfollow to successfully reach the destination. These directions compriseone or more waypoints, which are points along the prescribed route thatmay bear significance to the route. For instance, if the directionsprescribe that the user should turn right at the intersection of X and YStreets, then that intersection may be a waypoint. In such systems, auser traversing the route must carefully follow the directions. Indeed,if the user veers off the route, the user easily may become lost; inunfamiliar surroundings, it is often difficult to return to theprescribed route.

More advanced systems employ Global Positioning System (GPS) technologyto supply a user in close vicinity of the navigation device withreal-time information about the user's geographic location. AGPS-equipped device receives signals transmitted by twenty-four NAVSTARGPS satellites orbiting the earth, triangulates these signals, andcomputes the location of the device in terms of coordinates. Because thecoordinates are themselves of little significance to most users, GPSsystems may provide a visual representation of a user's location,represented by a cursor overlaid on a map of the region in which theuser is presently located.

Hybrid systems combine the functionality of the above-described systems.A user inputs a desired destination, a GPS receiver in the navigationdevice computes the current location of the device, software determinesa route for the user, and the device outputs a set of directions for theuser to follow. A map of the surroundings encompassing the route may beshown on a video display, as may the current location of the device. Thecurrent location may be represented by a cursor overlaid on the map.Additionally, the prescribed route may be superimposed on the map. Boththe map and cursor may be dynamically updated as the user traverses theroute. Nevertheless, if the user fails to constantly monitor theposition of the cursor on the map, the user may not realize that he hasdeviated from the prescribed route. When this discovery is made,significant travel time may have been lost, and a less advantageousroute may be the only alternative.

When users travel across great distances or vacation in obscure locales,navigation devices must display maps associated therewith. Accordingly,large data sets are needed. Most conventional navigation systems haverelied on mass-storage means, such as CD-ROMs, to fulfill this need, butmany region-specific CD-ROMs must be purchased at great expense. The mapinformation contained within the CD-ROMs may become outdated with theconstruction of new thoroughfares. In addition, the map information maybecome unreliable when, for instance, temporary road construction,traffic conditions, or natural disasters render legs of a routeinaccessible or otherwise undesirable. Various solutions have beenproposed, including acquiring map data from remote locations via radiotransmission or similar means. Unfortunately, these proposals fail tosufficiently limit the character, quantity, and frequency oftransmissions from the remote location to the user's location and back.

More fundamentally, these proposals are lacking in their failure tosufficiently protect the well-being of the user. In particular, when auser inadvertently deviates from a prescribed route, the user may beinconvenienced by travel delays. Further, at night, the likelihood ofhaving an accident may increase if the user has ventured onto secondaryroads in need of repair or roads in which lighting is inadequate.

Moreover, the problem of the misguided traveler exists alongside an evenmore pervasive one: the problem of the distracted traveler. For example,when the GPS device resides in a car, a driver who is lost may have tophysically input new commands, such as a request to generate a new routefrom the current position to the original destination. By physicallyoperating the device when driving, the driver may become distracted,making such operations potentially dangerous.

Furthermore, it is desirable that those in the public-at-large,including persons with disabilities, are able to fully avail themselvesof the functionality of a navigation system.

Therefore, what is needed is a system and method that promotes safetyin, and enhances the utility of, navigation systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a high-level diagram of a navigation system in accordancewith an embodiment of the present invention.

FIG. 2 depicts a functional block diagram of a subscriber unit inaccordance with an embodiment of the present invention.

FIG. 3 illustrates the architecture of a subscriber unit, constructedand operative in accordance with an embodiment of the present invention.

FIG. 4 illustrates the architecture of a service provider, constructedand operative in accordance with an embodiment of the present invention.

FIGS. 5 and 6 are high-level flow diagrams depicting a method ofnavigation in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawingsthat illustrate embodiments of the present invention. Other embodimentsare possible and modifications may be made to the embodiments withoutdeparting from the spirit and scope of the invention. Therefore, thefollowing detailed description is not meant to limit the invention.Rather, the scope of the invention is defined by the appended claims.

It will be apparent to one of ordinary skill in the art that theembodiments as described below may be implemented in many differentembodiments of software, firmware, and hardware in the entitiesillustrated in the figures. The actual software code or specializedcontrol hardware used to implement the present invention is not limitingof the present invention. Thus, the operation and behavior of theembodiments will be described without specific reference to the actualsoftware code or specialized hardware components. The absence of suchspecific references is feasible because it is clearly understood thatartisans of ordinary skill would be able to design software and controlhardware to implement the embodiments of the present invention based onthe description herein.

Moreover, the processes associated with the presented embodiments may bestored in any storage device, such as, for example, a computer system(non-volatile) memory, an optical disk, magnetic tape, or magnetic disk.Furthermore, the processes may be programmed when the computer system ismanufactured or via a computer-readable medium at a later date. Such amedium may include any of the forms listed above with respect to storagedevices and may further include, for example, a carrier wave modulated,or otherwise manipulated, to convey instructions that can be read,demodulated/decoded and executed by a computer.

A navigation system, as described herein, includes a subscriber unitconfigured to receive and transmit navigation information, as well asother service-related information. The subscriber unit incorporates aspeech processing mechanism to accommodate communications between thesubscriber unit and a subscriber, and global positioning technology todetermine the subscriber's current position. A service providercommunicates with the subscriber unit, and is configured to receive andtransmit information. As such, the subscriber unit and service providerexchange information. The service provider may provide the subscriberwith real-time map and routing information, and may alert and reroutethe subscriber if the subscriber becomes lost.

FIG. 1 is a high-level representation of navigation system 100 inaccordance with an embodiment of the present invention. As shown,navigation system 100 comprises subscriber unit 35, service provider 31,cellular communications network 32, and various cellular datatransmitters 34. Subscriber unit 35 is the navigation device ofnavigation system 100, and is operated by a subscriber in need ofnavigating to a desired destination. Subscriber unit 35 transmits thesubscriber's current position and desired destination to serviceprovider 31, and requests that service provider 31 provide a map anddirections to assist the subscriber in navigating from the currentposition to the desired destination. Service provider 31 performsinformation gathering and processing functions, as well as transmitsreal-time navigation information to subscriber unit 35. In theembodiment of FIG. 1, communication between subscriber unit 35 andservice provider 31 is effectuated by cellular communications network 32and its subsidiary cellular data transmitter sites 34. It is to beappreciated that other modes of communication may link subscriber unit35 and service provider 31, such as radio broadcast transmissions.

In an exemplary implementation, service provider 31 has a directconnection to a data communications network, such as, for example, theInternet 36, and a connection to various third-party informationproviders 37. Thus, service provider 31 may access a host ofinformation, processing such information and transmitting it tosubscriber unit 35.

It may be desirable for a subscriber of navigation system 100 to enterinto an account relationship with service provider 31. Accordingly, asubscriber may open an account with service provider 31, and provideinformation to service provider 31 that identifies the subscriber asdistinct from other subscribers. In addition, service provider 31 mayprecisely tailor the services it offers to the subscriber. In anexemplary embodiment, each subscriber is designated with a useridentifier that subscriber unit 35 embeds in each data packettransmitted to service provider 31.

FIG. 2 is a functional block diagram depicting subscriber unit 35.Subscriber unit 35 may be designed for installation in a vehicle such asa car or helicopter, receiving power from the vehicle's electricalsystem. In some embodiments, subscriber unit 35 may be packaged in acompact form such that a person traveling by foot, for example, a hikeror a tourist in a city, may carry the device, which may be outfittedwith a rechargeable power supply. In other embodiments, subscriber unit35 may be mounted on a wheelchair or similar personal transportationdevice, such as a bicycle or golf cart, whereby the operator maynavigate to an intended destination. Subscriber unit 35 may also beincorporated into a communications device, such as, for example, acellular phone.

As shown, subscriber unit 35 comprises GPS antenna 41, GPS modules 42,encryption and decryption modules 43, wireless data antenna 45, wirelessdata modules 44, speech processing modules 46, and central processing,storage, and service modules 47. Input device 48 and output device 49may be integrated into various modules of subscriber unit 35, or may beprovided in navigation system 100 as peripheral devices.

In particular, GPS antenna 41 and GPS modules 42 constantly acquire thecoordinates of a subscriber's current position on earth. Wireless dataantenna 45 and wireless data modules 44 transmit data to, and receivedata from, service provider 31 over the cellular communications network32. Encryption and decryption modules 43 encrypt and decrypt informationexchanged between subscriber unit 35 and service provider 31 tosafeguard the subscriber's privacy. Speech processing modules 46 receiveand process verbal requests conveyed by the subscriber, such as arequest to navigate to a specified destination. After subscriber unit 35transmits the subscriber's request to service provider 31, serviceprovider 31 gathers map information that the subscriber needs in orderto navigate from a current position to the specified destination, andtransmits that information to subscriber unit 35. Central processing,storage, and service modules 47 process the received map information,which may be outputted via speech processing modules 46 in the form ofspeech and via output device 49 in the form of graphics and text.

FIG. 3 illustrates an exemplary implementation of subscriber unit 35. Asshown, subscriber unit 35 includes a number of modules that interact toperform the requisite navigation functions. These modules are groupedinto functional blocks that correspond to those shown in FIG. 2. Thesemodules may be incorporated in a single chipset, or in separate devicesthat are interconnected. Software or hardware implementations of variousmodules may be adopted at the option of those skilled in the art.

Cellular antenna 45 and cellular data transceiver 70 receive data from,and transmit signals to, service provider 31. During reception, cellulardata transceiver 70 supplies the data signals to data transceiver 71,which converts the data signals into a data format suitable forprocessing by subscriber unit 35. During transmission, data transceiver71 modulates the data into data signals suitable for transmitting acrossa cellular communications network 32.

Encryption/decryption processor 72 decrypts data received from serviceprovider 31, as well as encrypts data before subscriber unit 35transmits it to service provider 31.

Transmit message generator 73 processes messages to be communicated toservice provider 31. In an exemplary implementation, transmit messagegenerator 73 processes (1) messages containing service requests for newmap information, whereby a subscriber can continue to navigate in a newlocale; (2) position update messages, whereby subscriber unit 35 updatesservice provider 31 with the current position of subscriber unit 35; (3)message receive acknowledgements, whereby subscriber unit 35 confirmswith service provider 31 that subscriber unit 35 has received messagessent by service provider 31; (4) retransmit requests, whereby subscriberunit 35 requests service provider 31 to retransmit data; and (5)messages indicating subscriber unit 35 has been activated ordeactivated. Each message processed by transmit generator 73 containsthe subscriber's user identifier.

Received message handler 74 processes decrypted messages received fromservice provider 31 and dispatches them to appropriate service modulesin subscriber unit 35. Received message handler 74 detects when amessage has been received by subscriber unit 35 and validates suchmessage. If the message is invalid, received message handler 74initiates a retransmit request and supplies the request to transmitmessage generator 73 in order to generate a retransmit request toservice provider 31.

As indicated in FIG. 3, subscriber unit 35 is also equipped with a GPSantenna 41 and GPS receiver 77, which constantly receive currentposition information from GPS satellites orbiting the earth. Suchposition information may be formatted, for example, as a NMEA 0183 datastream. Position information parser 78 parses the data stream outputtedby GPS receiver 77, extracting current position information andconverting it in accordance with the data format of subscriber unit 35.

Position difference correlator 75 receives inputs from received messagehandler 74, from central processing and data storage unit 76, and fromposition information parser 78. In order to minimize the quantity ofcellular data transmissions in navigation system 100, subscriber unit 35need not constantly update service provider 31 with the current positionof subscriber unit 35. Instead, service provider 31 may store a currentposition of subscriber unit 35, and subscriber unit 35 may also storethe current position in nonvolatile memory. Position differencecorrelator 75 compares the actual current position of subscriber unit35, as provided by GPS receiver 77 and position information parser 78,with the current position stored in service provider 31. When thedifference between the actual current position and the current positionstored in service provider 31 exceeds a threshold value, subscriber unit35 transmits a position update message to service provider 31 containingthe actual current position of subscriber unit 35.

Position difference correlator 75 also compares the actual currentposition of subscriber unit 35, as provided by GPS receiver 77 andposition information parser 78, with a position related to one or morepoints along a route that a subscriber is traversing. In one embodiment,position. difference correlator determines. the perpendicular. distancebetween the actual current position and a line connecting a previouswaypoint and the next waypoint of the route. When the distance exceeds apredetermined value, signifying that a subscriber has likelyinadvertently strayed from the route, position difference correlator 75,transmit message generator 73, and central processing and data storageunit 76 may act in concert to take appropriate action, includingnotifying the subscriber or transmitting a request to service provider31 to devise an alternative route for the subscriber to traverse.

In another embodiment, a route is divided into a series of segments,each of which includes a starting and an ending position lying on theroute. For curved roads, the segments may comprise short distances. Fora given segment of the route, after the subscriber begins to traversethe segment, position difference correlator 75 may determine thedistance between the actual current position of the subscriber and thesegment. When the distance exceeds a predetermined value, the system mayrespond as described above. It is to be understood that if serviceprovider 31 maintains a sufficiently current record of the position ofsubscriber unit 35, service provider 31 may also monitor whether thesubscriber has strayed from the prescribed route.

Central processing and data storage unit 76 stores current positioninformation in nonvolatile memory, commands that have been sent toservice provider 31, current map information, and encryption keys. Assuch, subscriber unit 35 always has a resident copy of map informationcorresponding to the geographic region in which subscriber unit 35 iscurrently located, and may retransmit commands to service provider 31 ifan error occurred during transmission. Central processing and datastorage unit 76 also controls, monitors, and interfaces with transmitmessage generator 73, encryption/decryption processor 72, positiondifference correlator 75, map data parser 79, display generation unit80, speech synthesis unit 82, and speech command processor 84.

Map information received from service provider 31 and routed by centralprocessing and data storage unit 76 to map data parser 79 may berepresented in terms of geographical coordinates, and comprises specificcoordinate locations corresponding to waypoints along a prescribedroute. Map data parser 79 converts this map information so that displaygeneration unit 80 can process the converted information, producing avisual representation of a map depicting the waypoints along theprescribed route. Display generation unit 80 also receives from map dataparser 79 the current position of subscriber unit 35, as provided byposition information parser 78. As such, display generation unit 80overlays the current position of subscriber unit 35 on the visualrepresentation of the map. In other embodiments, destinationinformation, traffic information, and weather information may besuperimposed on the map.

Display generation unit 80 drives display unit 81, which is an outputdevice in navigation system 100. In a car, display unit 81 may comprisea windshield heads-up display or dashboard-mounted LCD. In otherembodiments of subscriber unit 35, a compact LCD display may beintegrated into a handheld assembly. Instead of displaying a map,display generation unit 80 may display in textual form a list of theinstructions that a subscriber should follow along a route to anintended destination.

As shown in FIG. 3, subscriber unit 35 also includes speech processingportion 46. Speech processing portion 46 comprises a speech processinginput portion 46A and a speech processing output portion 46B.

Speech processing input portion 46A comprises microphone 86, speechrecognition unit 85, and speech command processor 84. Microphone 86 isthe interface between subscriber unit 35 and the spoken words of asubscriber. A subscriber speaks system commands into microphone 86, andspeech recognition unit 85 processes the commands. Speech recognitionunit 85 recognizes individual speech elements, known in the art asphonemes or primitives. Speech command processor 84 assembles primitivesreceived from speech recognition unit 85 into system commands thatcentral processing and data storage unit 76 may act upon. For example, asubscriber may speak the words, “Route me from here to 111 N. ElmStreet.” Speech recognition unit 85 processes the primitives, and speechcommand processor 84 assembles the primitives such that subscriber unit35 transmits current position information, destination information, anda request for corresponding navigation information to service provider31.

If different sets of speech primitives are stored in a nonvolatilememory that may be accessed by speech synthesis unit 82 and speechrecognition unit 85, subscriber unit 35 may support the recognition andsynthesis of various languages. In such an embodiment, a subscriber mayspecify his native language. Subsequent interaction between thesubscriber and subscriber unit 35 may proceed in this language. Becausetheir patrons may be foreigners, car rental companies may derive specialbenefits from this embodiment.

In other embodiments, a particular subscriber may train speech commandprocessor 84 and speech recognition unit 85 to more accurately recognizethe subscriber's speech. A training program may be run when a newsubscriber uses subscriber unit 35 for the first time, or at anarbitrary time when the subscriber has sufficient time to provide asampling of the subscriber's speech.

Speech processing output portion 46B comprises speech synthesis unit 82and speaker 83. Speech synthesis unit 82 processes output messages fromcentral processing and data storage unit 76 and synthesizes these outputmessages into recognizable speech patterns. These speech patterns arethen outputted via speaker 83 in order to enable the subscriber in thevicinity of subscriber unit 35 to hear the output message. For example,speech synthesis unit may, by virtue of speaker 83, generate the phrase:“You are off course. Please say ‘reroute’ and we will reroute you.” Insome embodiments, speech synthesis unit 82 may have a fixed vocabulary,but the vocabulary may be upgraded through periodic system updates.Upgrading of subscriber unit 35 could be accomplished by implementingEEPROM technology, such as, for example, flash memory and ferroelectricRAM devices.

FIG. 4 depicts the architecture of service provider 31. Data transceiver55 transmits and receives data in accordance with well known cellularcommunications technologies. Interfaced with data transceiver 55 isencryption/decryption processor 56, which encrypts data before it istransmitted by data transceiver 55 to subscriber unit 35, and decryptsdata that is received from subscriber unit 35. Encryption key database57 stores encryption keys associated with various subscribers. It is tobe noted that encryption key database 57 can reside in a remote locationas well as within service provider 31. Service provider 31 may store thecurrent position of each subscriber unit 35 in a nonvolatile memoryeither locally or remotely.

Received message handler 58 processes messages received from subscriberunit 35 and validates their contents. If a message is valid, receivedmessage handler 58 routes the message to the appropriate serviceprocessor, including other service processors 59 and map informationservice processor 60. Transmit message generator 61 transmits a receiveddata acknowledgement parameter, whereby service provider 31 informssubscriber unit 35 that service provider 31 has successfully receiveddata transmitted by subscriber unit 35. If a message is invalid—forinstance, the message is corrupted—received message handler 58 issues aretransmit request, which transmit message generator 61 sends tosubscriber unit 35. In the embodiment shown in FIG. 4, the retransmitrequest would be encrypted before transmission by encryption/decryptionprocessor 56.

When a valid message requesting navigation information is received byservice provider 31, map information service processor 60 processes therequest. For example, if the subscriber has specified a destination towhich the user wishes to navigate, map information service processor 60gathers appropriate map data 62, including graphical data. and routingdata, and transmit message generator 61 transmits the gathered data tosubscriber unit 35 with the aid of encryption/decryption processor 56and data transceiver 55.

Map information service processor 60 may also monitor traffic conditionsdata 63 and weather conditions data 65 that are relevant to a givensubscriber traversing a route and may take appropriate action ifnecessary, such as rerouting the subscriber to avoid a stretch ofhighway under construction or warning the subscriber to seek cover toavoid approaching severe weather. A subscriber may specify the telephonenumber of an intended destination instead of an address. As such, mapinformation service processor 60 accesses location/number database 64 tofind the address associated with the telephone number.

Encryption in navigation system 100 may employ well known symmetric orasymmetric cryptographic methodologies. In the case of asymmetricmethodologies, public and private keys may be generated the first timethat a particular subscriber activates subscriber unit 35. In someembodiments, such activation may occur at an activation facility,wherein an input/output port of subscriber unit 35 (not shown) receivesconfiguration data from a configuration device connected to theinput/output port of subscriber unit 35. During activation, serviceprovider 31 may receive subscriber-specific information inputted by thesubscriber and transmitted by subscriber unit 35, including subscribername, address, telephone number, billing information, e-mail address,name of e-mail server, and userID and password for the e-mail server. Itis to be appreciated that e-mail information need not be provided incertain embodiments.

Service provider 31 then generates a user identifier and a set of publicand private keys that are unique to the subscriber. The subscriber'spublic key is stored in encryption key database 57 in service provider31. The subscriber's private key is programmed into a secure,nonvolatile memory in subscriber unit 35, as is the public key ofservice provider 31. Speech recognition unit 85 of subscriber unit 35may optionally be configured to recognize the identity of a particularsubscriber based on the subscriber's speech pattern and to associate thespeech pattern with the subscriber's private encryption key. If multiplesubscribers use a particular subscriber unit 35, additional sets of keysmay be generated and stored for each subscriber.

After the key sets are generated and stored, subscriber unit 35 andservice provider 31 each encrypt data before transmission using thecounterpart's public key. Under normal operating conditions, asubscriber activates subscriber unit 35, and speaks a predetermined wordor phrase into microphone 86. The identity of the subscriber isdetermined by means of speech recognition unit 85, speech commandprocessor 84, and central processing and data storage unit 76.Subscriber unit 35 then transmits a message to service provider 31containing the subscriber's user identifier and indicating thatsubscriber unit 35 has been activated. Service provider 31 then accessesencryption key database 57 to locate the public key associated with theuser identifier, and transmits a message in plaintext acknowledging theinitial message of subscriber unit 35 and providing subscriber unit 35with the public key of service provider 31. After this handshakingprocedure is complete, all subsequent messages transmitted by eitherservice provider 31 or subscriber unit 35 are encrypted using the otherparty's public key and decrypted by the recipient using the recipient'sprivate key.

In other embodiments, navigation system 100 may accommodate otherservices, such as, for example, e-mail access, World Wide Web (WWW)surfing, voicemail access, and emergency roadside assistance. Forexample, to access e-mail, a subscriber may speak a command such as“e-mail” into microphone 86. Various modules of subscriber unit 35described above process the spoken command and translate it into aspecific message containing the subscriber's user identifier and arequest to access e-mail. Mail service processor 69 (see FIG. 4) ofservice provider 31 uses the user identifier as a search key insubscriber information database 68, retrieves the subscriber's e-mailaddress; the subscriber's e-mail service provider login information; andthe system name/network address of the subscriber's e-mail serviceprovider.

If e-mail server 66 of service provider 31 is not the subscriber'se-mail service provider, e-mail server 66 may act as a proxy, andconnect and log into a third party e-mail server that the subscriber hadpreviously designated (not shown). If e-mail server 66 is that of thesubscriber, the subscriber is logged in locally. Mail service processor69 then scans the subscriber's inbox, returning the number of read andunread messages to subscriber unit 35. The subscriber then retrievesmessages via voice commands or other input devices, and views them onthe display device 81. Speech synthesis unit 82 may optionally read thee-mail messages to the subscriber.

Voicemail access may be effectuated in a manner similar to e-mailaccess, with voicemail server 67 acting as either the subscriber'svoicemail server or a proxy to another such server. As shown in FIG. 3,speech processing input portion 46A of subscriber unit 35 may include aspeech recording unit 87. The subscriber speaks into microphone 86, andspeech recording unit 87 records the subscriber's words so that anoutgoing message may be forwarded to voicemail server 67.

A subscriber communicating with service provider 31 may also surf theWorld Wide Web (WWW). For example, to access the WWW, a subscriber mayspeak a command such as “web” or “surf” into microphone 86. Subscriberunit 35 then prompts the subscriber to speak the URL of the page to beretrieved. The above-described modules of subscriber unit 35 assemblethe URL, which subscriber unit 35 sends to service provider 31 forprocessing via the Web service processor (not shown). The Web serviceprocessor sends the URL to the web page cache (not shown), which, actingas a proxy device, forwards the URL to the Internet. The web page cachethen receives the web page from the Internet and transmits it tosubscriber unit 35. Subscriber unit 35 displays the web page on displayunit 81, and optionally plays speech in accordance with specificembedded speech tags. For instance, a web page may contain a tag thatreads “Welcome to yahoo.com.” Web surfing may be performed by thesubscriber via voice control or other input devices, such as atouch-sensitive screen, a keypad, or keyboard.

To summon emergency roadside assistance, a subscriber may speak acommand such as “emergency” or “road service” into microphone 86.Subscriber unit 35 then prompts the subscriber to specify what type ofassistance. is required, such as police, ambulance, or towing. A servicerequest with appropriate parameters, including the subscriber's useridentifier and current position, is transmitted to service provider 31.Service provider 31 may transmit a message back to subscriber unit 35 toconfirm that the request is valid. The subscriber validates the request,and subscriber unit 35 returns this validation to service provider 31.Upon receiving the validation, service provider 31 alerts theappropriate authorities, providing all necessary information, includingthe subscriber's identity and current position. Finally, serviceprovider 31 transmits a message to the subscriber confirming that helpis on the way.

In another embodiment, subscriber unit 35 may include a two-layersoftware hierarchy that may be upgraded via cellular communicationsnetwork 32. The first layer may be firmware that controls low-leveloperations of subscriber unit 35. The second layer may be applicationsoftware associated with service provider 31 or other such serviceproviders. An application programmatic interface (API) between thefirmware and application software layers may be made available to thepublic by the manufacturer of subscriber unit 35. As such, variousservice providers may write application software to run on subscriberunit 35.

When subscriber unit 35 is manufactured, private keys for firmware andsoftware may be stored in a nonvolatile memory of subscriber unit 35.Service provider 31 stores the associated public keys. Service provider31 may transmit a message to subscriber unit 35 when a firmware orsoftware upgrade is available. Service provider 31 may use the publickey for firmware to digitally sign firmware upgrades, and the public keyfor software to digitally sign software upgrades. Upgrades may then betransmitted to subscriber unit 35 in encrypted form via cellularcommunications network 32, as described above. After decryption,subscriber unit 35 may authenticate the received upgrades using theprivate key for firmware, or the private key for software, asappropriate.

FIGS. 5, 6 are high-level flow diagrams depicting navigation process 500in accordance with an embodiment of the present invention. As shown inFIG. 5, power is applied to subscriber unit 35 and communication isestablished between subscriber unit 35 and service provider 31 in blockB501. In block B502, subscriber unit 35 acquires its current positionvia GPS mechanism 42. Subscriber unit 35 then plays an audio prompt forthe subscriber to specify a desired destination. The subscriber's speechinput is received, and a speech recognition algorithm is performed. Ifthe input is not understood, subscriber unit 35 plays an audio messagethat the input was not understood in block B512, and once again promptsthe subscriber to enter a desired destination.

If the input is understood, then in block B514, central processing anddata storage unit 76 determines whether map information encompassing thedesired destination is stored locally. If such information is storedlocally, subscriber unit 35, in block B516, transmits its currentlocation to service provider 31, which then gathers and transmitsrouting information to route the subscriber from a current position tothe desired destination. If such information is not in local storage,subscriber unit 35, in block B518, transmits the inputted desireddestination and current position to service provider 31, whichdetermines whether the destination is a valid destination. If thedestination is invalid, subscriber unit 35 plays an audio message thatthe destination is invalid in block B522, and prompts the subscriber toenter a desired destination. If the destination is valid, subscriberunit 35 receives initial map and routing data from service provider 31,and in block B601 of FIG. 6, stores the received information innonvolatile local storage.

In block B602, subscriber unit 35 plays a message stating thatnavigation is ready to begin. In decision block B604, subscriber unit 35monitors whether the subscriber has arrived at the inputted destination,and, if so, plays an audio message announcing that. navigation iscomplete. If the inputted destination has not been reached, subscriberunit 35, in block B608, plays audio queues which prompt the user to takeaction at various waypoints along the route. In block B610, positiondifference correlator 75 detects whether the subscriber has divergedfrom the prescribed route. If not, subscriber unit 35 proceeds to blockB612. If so, subscriber unit 35, in block B614, plays an audio prompt toalert the subscriber that the subscriber is off course. In block B616,subscriber unit 35 transmits its current position and a request for datato service provider 31, which transmits new map and routing data tosubscriber unit 35, which loops back to block B604.

In block B612, position difference correlator 75 detects whether thesubscriber is about to leave the geographical area covered by the map inlocal storage. If not, subscriber unit 35 proceeds to block B604. If thesubscriber is about to leave that area, then additional graphical androuting data is needed from service provider 31, and in block B616,subscriber unit 35 transmits its current position and a request fordata. Service provider 31 transmits new map and routing data tosubscriber unit 35, which loops back to block B604. During navigation inFIGS. 5, 6, service provider 31 may preemptively notify the subscriberand alter a prescribed route (not shown) if the subscriber isapproaching adverse traffic or weather conditions and may transmit suchrouting data to the subscriber.

The foregoing description of the preferred embodiments is provided toenable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments are possible, andthe generic principles presented herein may be applied to otherembodiments as well. For example, the invention may be implemented inpart or in whole as a hard-wired circuit, as a circuit configurationfabricated into an application-specific integrated circuit, or as afirmware program loaded into non-volatile storage or a software programloaded from or into a data storage medium as machinereadable code, suchcode being instructions executable by an array of logic elements such asa microprocessor or other digital signal processing unit.

As such, the present invention is not intended to be limited to theembodiments shown above but rather is to be accorded the widest scopeconsistent with the principles and novel features disclosed in anyfashion herein.

What is claimed:
 1. A navigation system device comprising: a subscriberunit configured to receive information from and transmit information tothe Internet via a service provider, the subscriber unit including aglobal positioning system mechanism to determine subscriber positioninformation, an output mechanism to convey information to a subscriber,and a speech processing mechanism to accommodate communications betweenthe subscriber unit and the subscriber; and a service providerconfigured to communicate with the subscriber unit, the communicationsbetween the service provider and the subscriber unit including thereception and transmission of navigation information including mapinformation, wherein the output mechanism prompts to prompt thesubscriber to speak destination information, the speech processingmechanism receives to receive the destination information, and thesubscriber unit transmits to transmit the subscriber positioninformation and the destination information to the service provider, andthe service provider responds by transmitting the and receive from theservice provider navigation information to including map information,the subscriber unit, which conveys to convey the navigation informationto the subscriber via the output mechanism, wherein the navigationinformation involves a plurality of points along a route from a currentposition to a destination, and wherein the subscriber unit is configuredto determine a distance between a current position and a positionrelated to one or more points along the route, and wherein thesubscriber unit requests is to request new map information from theservice provider when the distance exceeds a predetermined distance. 2.The navigation system device according to claim 1, wherein the speechprocessing mechanism includes a speech processing input mechanism toreceive requests spoken by the subscriber.
 3. The navigation systemdevice according to claim 2, wherein the speech processing inputmechanism is trained to recognize the subscriber's requests with anaccuracy exceeding an accuracy obtainable without training.
 4. Thenavigation system device according to claim 1, wherein the outputmechanism includes a speech processing output mechanism configured tooutput messages by synthetically generating recognizable speechpatterns.
 5. The navigation system device according to claim 1, whereinthe output mechanism is configured to convey graphical map informationto the subscriber, and to overlay a current position on thegraphically-conveyed map information.
 6. The navigation system deviceaccording to claim 1, wherein the subscriber unit is configured tonotify the subscriber that the route has been deviated from when thedistance exceeds a predetermined distance.
 7. The navigation systemaccording to claim 1, wherein the information includes information fromthe Internet.
 8. The navigation system device according to claim 1,wherein the subscriber unit stores a finite set of map information, andwherein the service provider transmits is to receive new navigationinformation from the server provider before the subscriber unit leaves ageographic area represented by the finite set of map information.
 9. Thenavigation system device according to claim 1, wherein the subscriberunit is configured to be mounted on a personal transportation vehicle.10. A navigation system device comprising: a subscriber unit configuredto receive and transmit information, the subscriber unit including aglobal positioning system mechanism to determine subscriber positioninformation, an output mechanism to convey information to a subscriber,and a speech processing mechanism to accommodate communications betweenthe subscriber unit and the subscriber; and a service providerconfigured to communicate with the subscriber unit, the communicationsbetween the service provider and the subscriber unit including thereception and transmission of to receive navigation informationincluding map information from a server provider, wherein the outputmechanism prompts is to prompt the subscriber to speak destinationinformation, the speech processing mechanism receives to receive thedestination information, and the subscriber unit transmits to transmitthe subscriber position information and the destination information tothe a service provider, and the service provider responds bytransmitting the receive navigation information to the subscriber unit,which conveys including map information from the service provider andconvey the navigation information to the subscriber via the outputmechanism, wherein each of the subscriber unit and the service providerencrypt information before transmitting the information, and whereineach user of the subscriber unit is assigned an encryption key, thespeech processing mechanism is configured to identify a user on thebasis of the voice of the user, and the subscriber unit is configured touse the encryption key assigned to the identified user during navigationby the identified user.
 11. A navigation system comprising: a subscriberunit configured to receive and transmit information, the subscriber unitincluding a global positioning system mechanism to determine subscriberposition information, an output mechanism to convey information to asubscriber, and a speech processing mechanism to accommodatecommunications between the subscriber unit and the subscriber; and aservice provider configured to communicate with the subscriber unit, thecommunications between the service provider and the subscriber unitincluding the reception and transmission of navigation informationincluding map information, wherein the output mechanism prompts thesubscriber to speak destination information, the speech processingmechanism receives the destination information and the subscriber unittransmits the subscriber position information and the destinationinformation to the service provider, and the service provider respondsby transmitting the navigation information to the subscriber unit, whichconveys the navigation information to the subscriber via the outputmechanism, and wherein the service provider is configured to store thesubscriber position information, the subscriber unit is configured tomeasure the distance between the stored subscriber position informationand a current position, and the subscriber unit transmits the currentposition to the service provider when the distance exceeds apredetermined distance.
 12. A navigation system device comprising: asubscriber unit configured to receive and transmit information, thesubscriber unit including a global positioning system mechanism todetermine subscriber position information, an output mechanism to conveyinformation to a subscriber, and a speech processing mechanism toaccommodate communications between the subscriber unit and thesubscriber; and a service provider configured to communicate with thesubscriber unit, the communications between the service provider and thesubscriber unit including the reception and transmission of to receivenavigation information including map information from a serviceprovider, wherein the output mechanism prompts is to prompt thesubscriber to speak destination information, the speech processingmechanism receives to receive the destination information, and thesubscriber unit transmits to transmit the subscriber positioninformation and the destination information to the service provider, andthe service provider responds by transmitting the receive navigationinformation to the subscriber unit, which conveys from the serviceprovider and convey the navigation information to the subscriber via theoutput mechanism, and wherein the subscriber unit includes a firmwareand a software portion, the subscriber unit being configured to receiveencrypted firmware and software upgrades, the upgrades being decryptedby, and programmed into, the subscriber unit.
 13. A navigation methodcomprising: receiving, by a subscriber unit, position information anddestination information, the destination information being spoken by asubscriber; transmitting, by the subscriber unit, the positioninformation and the destination information to a service provider, afterencrypting the information; receiving, by the subscriber unit, encryptednavigation information from the service provider, the navigationinformation involving a plurality of points along a route from a currentposition to a destination; conveying, by the subscriber unit, thenavigation information to the subscriber; encrypting, by each of thesubscriber unit and the service provider, information beforetransmission; assigning, by the subscriber unit, a first user of a thesubscriber unit an encryption key; associating the encryption key of thefirst user with the voice of the first user; identifying the first userwhen the first user speaks; and using the encryption key assigned to thefirst user during navigation by the first user.
 14. The navigationmethod according to claim 13, wherein the subscriber unit conveysconveying comprises conveying navigation information by syntheticallygenerating recognizable speech patterns.
 15. The navigation methodaccording to claim 13, further comprising: determining, by thesubscriber unit or the service provider, the distance between thecurrent position and a position related to one or more points along theroute; and notifying the subscriber that the route has been deviatedfrom when the distance exceeds a predetermined distance.
 16. Anavigation method comprising: receiving, by a subscriber unit, positioninformation and destination information, the destination informationbeing spoken by a subscriber; transmitting, by the subscriber unit, theposition information and the destination information to a serviceprovider, after encrypting the information; receiving, by the subscriberunit, encrypted navigation information from the service provider, thenavigation information involving a plurality of points along a routefrom a current position to a destination; conveying, by the subscriberunit, the navigation information to the subscriber; encrypting, by eachof the subscriber unit and the service provider, information beforetransmission; and receiving, by the subscriber unit, encrypted firmwareor software upgrades.
 17. A navigation method comprising: receiving, bya subscriber unit, position information and destination information, thedestination information being spoken by a subscriber; transmitting, bythe subscriber unit, the position information and the destinationinformation to a service provider; receiving, by the subscriber unit,navigation information from the service provider, the navigationinformation involving a plurality of points along a route from a currentposition to a destination; conveying, by the subscriber unit, thenavigation information to the subscriber by synthetically generating arecognizable speech pattern; determining, by the subscriber unit, thedistance between the current position and a position related to one ormore points along the route; and requesting new map information from theservice provider when the distance exceeds a predetermined distance. 18.A navigation method comprising: receiving, by a subscriber unit,position information and destination information, the destinationinformation being spoken by a subscriber; transmitting, by thesubscriber unit, the position information and the destinationinformation to a service provider; receiving, by the subscriber unit,navigation information from the service provider, the navigationinformation involving a plurality of points along a route from a currentposition to a destination; conveying, by the subscriber unit, thenavigation information to the subscriber; storing, by the serviceprovider, the position information; measuring, by the subscriber unit,the distance between the stored position information and the currentposition; and transmitting, by the subscriber unit, the current positionto the service provider when the distance exceeds a predetermineddistance.
 19. A computer-readable medium encoded with a plurality ofprocessor-executable instruction sequences for: receiving, by asubscriber unit, position information and destination information, thedestination information being spoken by a subscriber; transmitting, bythe subscriber unit, the position information and the destinationinformation to a service provider; receiving, by the subscriber unit,navigation information from the service provider, the navigationinformation involving a plurality of points along a route from a currentposition to a destination; conveying, by the subscriber unit, thenavigation information to the subscriber; determining, by the subscriberunit, the distance between the current position and a position relatedto one or more points along the route; and requesting new mapinformation from the service provider when the distance exceeds apredetermined distance; and notifying the subscriber that the route hasbeen deviated from when the distance exceeds a predetermined distance.20. The computer-readable medium of claim 19, wherein the subscriberunit conveys navigation information by synthetically generatingrecognizable speech patterns.
 21. The computer-readable medium of claim19, further comprising processor-executable instruction sequences for:determining, by the subscriber unit or the service provider, thedistance between the current position and a position related to one ormore points along the route; and notifying the subscriber that the routehas been deviated from when the distance exceeds a predetermineddistance.
 22. A computer-readable medium encoded with a plurality ofprocessor-executable instruction sequences for: receiving, by asubscriber unit, position information and destination information, thedestination information being spoken by a subscriber; transmitting, bythe subscriber unit, the position information and the destinationinformation to a service provider, after encrypting the information;receiving, by the subscriber unit, encrypted navigation information fromthe service provider, the navigation information involving a pluralityof points along a route from a current position to a destination;conveying, by the subscriber unit, the navigation information to thesubscriber; encrypting, by each of the subscriber unit and the serviceprovider, information before transmission; assigning, by the subscriberunit, a first user of a the subscriber unit an encryption key;associating the encryption key of the first user with the voice of thefirst user; identifying the first user when the first user speaks; andusing the encryption key assigned to the first user during navigation bythe first user.
 23. A computable-readable medium encoded with aplurality of processor-executable instruction sequences for: receiving,by a subscriber unit, position information and destination information,the destination information being spoken by a subscriber; transmitting,by the subscriber unit, the position information and the destinationinformation to a service provider; receiving, by the subscriber unit,navigation information from the service provider, the navigationinformation involving a plurality of points along a route from a currentposition to a destination; conveying, by the subscriber unit, thenavigation information to the subscriber; storing, by the serviceprovider, the position information; measuring, by the subscriber unit,the distance between the stored position information and the currentposition; and transmitting, by the subscriber unit, the current positionto the service provider when the distance exceeds a predetermineddistance.